//==========================================================================
// Copyright (c) 2000-2008,  Elastos, Inc.  All Rights Reserved.
//==========================================================================
/*++
"This software program is available to you under a choice of one of two 
licenses.  You may choose to be licensed under either the GNU General Public 
License (GPL) Version 2, June 1991, available at 
http://www.fsf.org/copyleft/gpl.html, or the BSD License, the text of
which follows:

Copyright (c) 1996-2005, Intel Corporation. All rights reserved.

Redistribution and use in source and binary forms, with or without 
modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this 
list of conditions and the following disclaimer. 

Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or 
other materials provided with the distribution. 

Neither the name of the Intel Corporation ("Intel") nor the names of its 
contributors may be used to endorse or promote products derived from this
software without specific prior written permission. 

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
--*/

#ifndef __XLLP_MFP_RM_H__
#define __XLLP_MFP_RM_H__

// Note: All values < XLLP_MFP_RM_ID_XLLP_MIN are reserved for internal
//       MFP RM usage.

// General definitions: these limits are for 8-bit IDs.

#define XLLP_MFP_RM_ID_XLLP_BASE        0x10
#define XLLP_MFP_RM_ID_XLLP_MAX         0x8F
#define XLLP_MFP_RM_ID_OS_BASE          0x90
#define XLLP_MFP_RM_ID_OS_MAX           0xFF
#define XLLP_MFP_RM_ID_MAX              0xFF

//
// Special case IDs: must be < XLLP_MFP_RM_ID_XLLP_BASE
//

// This ID is for use only by power management modules.
//     It may be used by both XLLP PM SW and OS level PM SW.
//     It is not logged as pin owner, and can never fail the
//     ownership conflict test.
//     Te reason is that PM modules must be able to touch certain bit
//     fields of many pins that are owned during normal operation by
//     other modules

#define XLLP_MFP_RM_ID_PM               0x0F

//

#define XLLP_MFP_RM_ID_XLLP_CIF         XLLP_MFP_RM_ID_XLLP_BASE+0x00
#define XLLP_MFP_RM_ID_XLLP_FLASH       XLLP_MFP_RM_ID_XLLP_BASE+0x01
#define XLLP_MFP_RM_ID_XLLP_I2C         XLLP_MFP_RM_ID_XLLP_BASE+0x02
#define XLLP_MFP_RM_ID_XLLP_I2S         XLLP_MFP_RM_ID_XLLP_BASE+0x03
#define XLLP_MFP_RM_ID_XLLP_ICP         XLLP_MFP_RM_ID_XLLP_BASE+0x04
#define XLLP_MFP_RM_ID_XLLP_KEYPAD      XLLP_MFP_RM_ID_XLLP_BASE+0x05
#define XLLP_MFP_RM_ID_XLLP_LCD         XLLP_MFP_RM_ID_XLLP_BASE+0x06
#define XLLP_MFP_RM_ID_XLLP_MINILCD     XLLP_MFP_RM_ID_XLLP_BASE+0x07
#define XLLP_MFP_RM_ID_XLLP_MMC         XLLP_MFP_RM_ID_XLLP_BASE+0x08
#define XLLP_MFP_RM_ID_XLLP_MSL         XLLP_MFP_RM_ID_XLLP_BASE+0x09
#define XLLP_MFP_RM_ID_XLLP_PM          XLLP_MFP_RM_ID_XLLP_BASE+0x0A
#define XLLP_MFP_RM_ID_XLLP_SSP         XLLP_MFP_RM_ID_XLLP_BASE+0x0B
#define XLLP_MFP_RM_ID_XLLP_UART        XLLP_MFP_RM_ID_XLLP_BASE+0x0C
#define XLLP_MFP_RM_ID_XLLP_UDC         XLLP_MFP_RM_ID_XLLP_BASE+0x0D
#define XLLP_MFP_RM_ID_XLLP_USBH        XLLP_MFP_RM_ID_XLLP_BASE+0x0E
#define XLLP_MFP_RM_ID_XLLP_USBOTG      XLLP_MFP_RM_ID_XLLP_BASE+0x0F
#define XLLP_MFP_RM_ID_XLLP_ETH         XLLP_MFP_RM_ID_XLLP_BASE+0x10
#define XLLP_MFP_RM_ID_XLLP_AC97        XLLP_MFP_RM_ID_XLLP_BASE+0x11
#define XLLP_MFP_RM_ID_XLLP_FFUART      XLLP_MFP_RM_ID_XLLP_BASE+0x12

#define XLLP_MFP_RM_ID_XLLP_BTUART  XLLP_MFP_RM_ID_XLLP_BASE+0x13

#define XLLP_MFP_RM_ID_XLLP_STUART  XLLP_MFP_RM_ID_XLLP_BASE+0x14

#endif // __XLLP_MFP_RM_H__
